﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Configuration;
using System.Data.SqlClient;
using Website.Logger;
using DAL;
using BOL;
using WebLib;
using System.Web.Script.Services;
using System.Web.Services;
using UtilityExtensions;

namespace UILGestion.Admin.CajaChica
{
    public partial class CajaReadForm : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!this.IsPostBack)
            {
                idInternal.Value = (string)Request.QueryString["id"];
                menuCtrl1.loadMenuSeguridad();
                FormatForm();
            }
        }



        protected void AccionButton_Click(object sender, EventArgs e)
        {
            try
            {

                if ((sender as Button).Text == "Restablecer")
                {

                    FormatForm();
                }
                if ((sender as Button).Text == "Editar")
                {
                    Response.Redirect("CajaEditForm.aspx?type=E&id=" + idInternal.Value, false);
                }
                if ((sender as Button).Text == "Nuevo")
                {
                    Response.Redirect("CajaEditForm.aspx?type=A&id=" + idInternal.Value, false);
                }
                if ((sender as Button).ID == "eliminarButton")
                {
                    CajaBL tpbol = new CajaBL();

                    tpbol.Delete(int.Parse(idInternal.Value));

                    Response.Redirect("cajaListForm.aspx", true);
                }

                if ((sender as Button).ID == "anteriorButton")
                {

                    dbGestionDataContext _db =
                        new dbGestionDataContext(Parametros.strConnString);

                    DAL.TipoCambio tp = new DAL.TipoCambio();

                    int idAnterior = tp.getidAnterior(_db, int.Parse(idInternal.Value));
                    Response.Redirect("CajaReadForm.aspx?id=" + idAnterior, false);


                }
                if ((sender as Button).ID == "siguienteButton")
                {

                    dbGestionDataContext _db =
                       new dbGestionDataContext(Parametros.strConnString);

                    DAL.TipoCambio tp = new DAL.TipoCambio();

                    int idSiguiente = tp.getidSiguiente(_db, int.Parse(idInternal.Value));
                    Response.Redirect("CajaReadForm.aspx?id=" + idSiguiente, false);
                }




            }
            catch (SqlException sqlex)
            {
                WebServerSideSqlError.Log(sqlex);

                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                 "uniqueKey" + DateTime.Now, "alert('" + sqlex.Message.Replace("'", "") + "');", true);


            }
            catch (Exception ex)
            {
                WebServerSideError.Log(ex);
                ScriptManager.RegisterClientScriptBlock(this, typeof(Page),
                     "uniqueKey" + DateTime.Now, "alert('" + ex.Message.Replace("'", "") + "');", true);

            }




        }
        //private void LoadRendicionPendiente(Rendicion rendicion)
        //{
        //    if (rendicion.idEstado != 45)
        //    {
        //        RendicionPNL.Visible = true;
        //        numeroLBL.Text = rendicion.numDocumento;
        //        descripcionLBL.Text = rendicion.descripcion;
        //        estadoLBL.Text = rendicion.GrupoDatoitem.descripcion;
        //        RendicionDepositoGrid1.Load(rendicion.idInternal.ToString(), rendicion.idEstado);

        //        saldoAnteriorLBL.Text=string.Format("{0} {1:N}",rendicion.Caja.Moneda.simbol,rendicion.saldoAnterior);
        //            fondoAsignadoLbl.Text=string.Format("{0} {1:N}",rendicion.Caja.Moneda.simbol,rendicion.totalDeposito);
        //            fondoGastadoLbl.Text=string.Format("{0} {1:N}",rendicion.Caja.Moneda.simbol,rendicion.toalIngreso);
        //            fondoSaldoLbl.Text = string.Format("{0} {1:N}", rendicion.Caja.Moneda.simbol, rendicion.totalSaldo);
        //    }

            
        //}

        private void FormatForm()
        {
            var caja= DbUtil.Db.Cajas.SingleOrDefault(p=>p.idInternal==idInternal.Value.ToInt());
                if (caja!=null)
                {
                    idLabel.Text = caja.idInternal.ToString();
                    descripcionLabel.Text = caja.descripcion;
                    obralabel.Text = caja.Obra.descripcion;
                    custodioLabel.Text = caja.Empleado.descripcion;
                    montoLabel.Text = caja.montoAsignado.ToString("N");
                    monedaDDL.Text = caja.Moneda.descripcion;
                    //RendicionPNL.Visible = false;
                    //      //traer  la rendicion Abierta
                    //if (caja.Rendicions.Count > 0)
                    //{
                    //    var rendicion = new Rendicion();
                    //    short itemRendicion=rendicion.GetUltimoItemRendicion(DbUtil.Db, caja.idInternal);
                    //    LoadRendicionPendiente(caja.Rendicions.Single(p=>p.itemRendicion==itemRendicion));
                    //}
                    
                    
                }

        }
       
    }
}